Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

ret{cond4} Rs

If (cond4)
      If (Rs != {LR, SP, PC})
            R12 = Rs;
      else if (Rs == LR)
            R12 = -1;
      else if (Rs == SP)
            R12 = 0;
      else
            R12 = 1;
      Test R12 and set flags;
      PC = LR;
cond4 ∈ {eq, ne, cc/hs, cs/lo, ge, lt, mi, pl, ls, gt, le, hi, vs, vc, qs, al}
s  ∈{0, 1, …, 15}

Rev1+

01011110

cond4

Rs

8

4

4

Description

Return from subroutine if the specified condition is true. Values are moved into the return regis- ter, the return value is tested, and flags are set.

Status Flags:

Flags are set as result of the operation CP R12, 0.

Q:

Not affected

V:

V = 0

N:

N = RES[31]

Z:

Z = (RES[31:0] == 0)

C:

C = 0